package com.tedu.API.list;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 集合: Iterator 通过迭代---遍历集合---遍历的同时删除元素
 *      普通for【不推荐】
 *      增强for【不可以在遍历的同时删除元素】
 *      ConcurrentModificationException    并发修改
 *      产生原因: 增强for底层遍历采用Iterator遍历---迭代器删除元素
 *                                             集合删元素
 *               增强for中删除元素集合的方法用错!
 */
public class testHomeWorkAPI {
    public static void main(String[] args) {
        Collection<String> b=new ArrayList<>();
        b.add("十一");b.add("元旦");b.add("春节");b.add("元宵节");
        //1.创建Iterator迭代器对象---通过集合获取对象
        Iterator<String> it= b.iterator();
        //2.迭代器使用需要遵循问、取、删原则
        while (it.hasNext()){  //问: 集合中是否有元素  true
            String str= it.next();  //取: 集合每个元素
            if("元旦".equals(str)){
                //it.remove();  迭代器  it   删除  集合元素
                b.remove(str);  //删除肯定报错
            }

        }
       /* for (String str:b){
            if("元旦".equals(str)){   //元旦  判断  集合  "元旦"
             b.remove("元旦");     //是集合中的元旦，删除
            }
        System.out.println("增强for: "+str);
        }*/
        System.out.println("打印集合: "+b);
    }

}




